﻿//------------------------------------------------------------------------------
// ╭─────────────────────────────╮
// │ ╭─╮     ╭─╮              TM │   ╠═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╣
// │ │ │     │ │                 │                                           ☺  
// │ │ ╰───╮ │ │ ╭─────╮ ╭─────╮ │     Name:Wedn.Net 日志助手类        ♮ ♪ ♩
// │ │ ╭─╮ │ │ │ │ ╭─╮ │ │ ╭─╮ │ │                                    ♫ ♭      
// │ │ ╰─╯ │ │ │ │ ╰─╯ │ │ ╰─╯ │ │     Author:iceStone               ♬ ♪       
// │ └─────╯ └─╯ ╰─────╯ ╰───╮ │ │     Chinese:汪磊                              
// │                     ┌───╯ │ │                                              
// │                     ╰─────╯ │   ╠═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╣
// ╰─────────────────────────────╯                                              
//------------------------------------------------------------------------------
using log4net;

namespace Wedn.Net.Utility
{
    /// <summary>
    /// 日志助手类
    /// </summary>
    public static class LogHelper
    {
        private static ILog _log;
        private static ILog Log
        {
            get
            {
                if (_log == null)
                {
                    //如果使用log4net，应用程序一开始的时候，就要进行初始化配置。
                    log4net.Config.XmlConfigurator.Configure();
                    //如果后面传来的字符串是一样的话，那么返回的log对象就是相同等
                    _log = log4net.LogManager.GetLogger("Wedn.Net");
                }
                return _log;
            }
        }
        /// <summary>
        /// 错误等级日志
        /// </summary>
        /// <param name="txt">日志内容</param>
        public static void WriteErrorLog(string txt)
        {
            Log.Error(txt);
        }
        /// <summary>
        /// 调错等级日志
        /// </summary>
        /// <param name="txt">日志内容</param>
        public static void WriteDebugLog(string txt)
        {
            Log.Debug(txt);
        }
        /// <summary>
        /// 致命等级日志
        /// </summary>
        /// <param name="txt">日志内容</param>
        public static void WriteFatalLog(string txt)
        {
            Log.Fatal(txt);
        }
        /// <summary>
        /// 消息等级日志
        /// </summary>
        /// <param name="txt">日志内容</param>
        public static void WriteInfoLog(string txt)
        {
            Log.Info(txt);
        }
        /// <summary>
        /// 警告等级日志
        /// </summary>
        /// <param name="txt">日志内容</param>
        public static void WriteWarnLog(string txt)
        {
            Log.Warn(txt);
        }
    }
}
